Nota: je heb twee resistoren nodig, een van 1KOhm en een van 2KOhm; de 1KOhm resistor verbindt de ECHO pin met GPIO meetpin (GPio 24, dus tussen de twee gele verbindingen in de bovenstaande tekening, terwijl de 2KOhm een verbinding legt van de GPIO pin naar de GND (geel naar zwart)


In [ ]:
#We willen de software bibliotheken "RPi.GPIO" en "time" gebruiken in onze code
import RPi.GPIO as GPIO
import time

#Voor de GPIO pinnetjes zullen we de BCM nummering gebruiken (cfr nummers op de behuizing)
GPIO.setmode(GPIO.BCM)

#De "trigger" pin van de ultrasone sensor gaan we aansluiten op poort 23
TRIG = 23
#De "echo" pin van de ultrasone sensor gaan we aansluiten op poort 24
ECHO = 24

#Stel de poorten op de Raspberry Pi in op "output" voor de trigger poort en "input" voor de echo poort
#Op die manier kan de Raspberry Pi een trigger sturen en vervolgens een echo ontvangen
GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)

In [ ]:
#trigger 2 seconden uitschakelen (trigger poort -nummer 23- 2 seconden op 0 volt zetten)
print("Sensor stabiliseren")
GPIO.output(TRIG, 0)
time.sleep(2)

#trigger inschakelen, 10 milliseconden wachten en weer uitschakelen
GPIO.output(TRIG, 1)
time.sleep(0.00001)
GPIO.output(TRIG, 0)

#tijd opnemen zolang het echo signaal uit staat en opslaan in de pulse_start variabele
pulse_start = time.time()
while GPIO.input(ECHO)==0:
  pulse_start = time.time()

#tijd opnemen zolang het echo signaal aan staat en opslaan in de pulse_end variabele
while GPIO.input(ECHO)==1:
  pulse_end = time.time()

#Dit geeft samen de lengte van de pulse, die rechtevenredig is met de afstand tot het gedetecteerde object
pulse_duration = pulse_end - pulse_start

#afstand berekenen in cm en afdrukken
distance = pulse_duration * 17150
print("Gemeten afstand: {0:.2f} cm".format(distance))

In [ ]:
#GPIO poorten weer initialiseren
GPIO.cleanup()